import Vue from "vue";
import Vuex from "vuex";

import { setItem, getItem } from "@/utils/storage";
Vue.use(Vuex);
// token的key值
const TOKEN_KEY = "TOKEN_KEY";

export default new Vuex.Store({
  state: {
    // user 是一个对象，储存当前登录用户信息（token等数据）
    // user: null,
    // 用户登录状态的信息（读取出来是字符串，直接通过parse进行转换对象）
    // user: JSON.parse(window.localStorage.getItem(TOKEN_KEY)),
    user: getItem(TOKEN_KEY),
  },
  mutations: {
    // 设置本地存储中的数据
    setUser(state, data) {
      state.user = data;
      // window.localStorage.setItem(TOKEN_KEY, JSON.stringify(user));
    //  为防止刷新数据丢失，我们需要把数据备份到本地存储
      setItem(TOKEN_KEY, state.user);
    },
  },
  actions: {},
  modules: {},
});
